<template>
  <div class="avanda_content" id="avanda_content"></div>
</template>
<script setup>
import { onMounted } from 'vue';
import { emptyClone } from '../../../components/aaanewApp/global/global';
import { avandaTaskObj } from './avandaUnitObj';
import { changeLoadMod } from './avandaUnitObj';
onMounted(() => {
  asyncAvanda;
  asyfunc();
  changeLoadMod('666', ['7', '8']);
});
function avanda6(kel) {
  console.log('如果输出: avanda 。则 正确 渗入\n 输出结果 : ', kel);
}

function laterWriteme() {
  console.log(
    '三秒后 输出这个信息 2024.04.28 22:11 星期日 今天晚上 可能 决定 在外面看 --(我知道你在外面 你隔逼出)-- 吕游'
  );
}

function afterWriteme() {
  console.log(
    '总共五秒后 输出这个信息 2024.04.29 21:54 星期一 雨 今天晚上 在 里面 看 他 露露脸 给我?  -- 吕游'
  );
}

/**
 * async
 */
async function asyncAvanda() {
  let tecl;
  await new Promise((resolve) => {
    let a = new avandaTaskObj(
      'test0',
      '这是 test 0 任务系列  还不知道能干什么 代码还没写完'
    );
    setTimeout(() => {
      resolve();
      tecl = a;
    }, 2000);
  });

  console.log(tecl);
  tecl.exposeProps('kel', 'avanda');
  tecl.exposeProps('newpro', 'avanda I test promise');

  tecl.task = [
    avanda6,
    { value: laterWriteme, delayTime: 3000 },
    { value: afterWriteme, delayTime: 2000, delayWay: 'after' },
    // { value: promiseFunc, asyncFunc: true },
  ];
  tecl.runTask();
  console.log(tecl, emptyClone(tecl));
}

// let promiseFunc = new Promise((resolve, reject) => {
//   reject;
//   setTimeout(function (newpro) {
//     console.log('测试段:' + newpro);
//     console.log(
//       '第七秒后输出我 2024.04.30 11:58 星期二 阴 昨天 告诉他 前因了 好像没用啊 石沉大海了 ...'
//     );
//     resolve('668');
//   }, 7000);
// });

async function asyfunc() {
  let ibj;
  await new Promise((resolve) => {
    ibj = new avandaTaskObj({
      taskName: 'test0',
      describe: '这是 test 0 任务系列  还不知道能干什么 代码还没写完',
      resolve,
      groupto: 'kjl',
    });
  });
  console.log(ibj);
  ibj.task = [
    testPHand,
    { value: testPromise, asyncFunc: 'promise' },
    { value: testThen, then: 'then' },
    testPTail,
  ];
  ibj.runTask();
}

function testPHand() {
  console.log('这个是 测试 promise  then 系列  测 参数设定 头部');
}

function testPromise() {
  console.log('这个是 测试 promise  then 系列  在此 暂停 6秒 后继续 运行');

  setTimeout(() => {
    console.log(
      '这个是 测试 promise  then 系列  在 运行 6 秒后 输出此消息 并启动 继续 运行 FunctionCall 函数'
    );
    this.resolve();
    this.signReturnVal('testPromise.return', '0');
  }, 6000);
}

function testThen() {
  console.log('这个是 测试 promise  then 系列  紧接着 输出 此条信息');
}

function testPTail() {
  console.log('这个是 测试 promise  then 系列  结束');
}
</script>

<style scoped lang="scss">
.avanda_content {
  width: 100vw;
  height: 100vh;
  background-color: #450544b1;
}
</style>

<style></style>
